Image-based vehicle damage determining method and apparatus, and electronic device

ABSTRACT

Methods, systems, and computer-readable storage media for generation of a vehicle repair plan. Implementations include actions of receiving vehicle damage data including an image of a damaged vehicle. The vehicle damage data is processed to determine a damaged area and a damage type of a portion of the damaged vehicle. A repair plan is generated for the damaged vehicle based on the damaged area and the damage type. The repair plan is initiated for the damaged vehicle.

This application claims priority to Chinese Patent Application No.201710233657.6, filed on Apr. 11, 2017, which is hereby incorporated byreference in its entirety.

TECHNICAL FIELD

The present application relates to the field of computer image dataprocessing technologies, and in particular, to an image-based vehicledamage determining method, apparatus, and an electronic device.

BACKGROUND

After a traffic accident occurs, there is usually a need to wait for anadjuster of an insurance company to perform processing on site, andcollect evidence for a claim by means, such as photographing. As thenumber of vehicles increase in recent years, so does the number oftraffic accidents. Claim and damage determination service of a vehicleusually needs to be processed by a professional insurance staff on site,which can result in high cost, long waiting period, and low efficiency.

Currently, in some processing methods in the industry, automaticanalysis is performed by using an image of a traffic accident site toobtain a predetermined damaged area category of the vehicle. Forexample, according to the disclosure entitled “Method and System forAnalyzing Vehicle Insurance Claim Picture” with the applicationpublication number “CN105678622A”, an algorithm is disclosed to use aconventional convolutional neural network (CNN) to analyze a claimpicture uploaded by a mobile terminal, identify a damaged area category,and generate alert information based on an analysis result. However, inthe method, simply a damaged area category such as a front, a side, or atrail of the vehicle is determined, but no specific damage type isidentified. The alert information of the identified damaged area ismainly used by the insurance company staff to compare with damagedetermined by human, and serves as reference information to help theinsurance company staff with damage determination and calculation. Inaddition, the algorithm uses only an object identification algorithmcommonly used in the CNN. A final determination of vehicle damage isstill made by a human being. Consequently, labor and time costs arerelatively high. In addition, due to the differences of vehicle damageapproval standards by different insurance companies and subjectivity, avehicle damage determination result can vary greatly, and reliabilitycan be relatively low.

SUMMARY

The present application aims to provide an image-based vehicle damagedetermination method, apparatus, and an electronic device, so as toquickly, accurately and reliably detect specific information such as adamaged area and a degree of damage of an auto part, to provide a moreaccurate and reliable damage determination result, maintenance planinformation for a user, and quickly and efficiently processing vehicledamage determination, thereby greatly improving user service experience.

An image-based vehicle damage determining method and apparatus, and anelectronic device provided in the present application are implemented asfollows:

An image-based vehicle damage determining is provided, where the methodincludes: obtaining an auto part image corresponding to an auto part;checking the auto part image by using a constructed component damageidentification model, to determine a damaged area and a damage type ofthe auto part; and generating a repair plan for the auto part based oninformation including the damaged area and the damage type of the autopart.

An image-based vehicle damage determination apparatus is provided, wherethe apparatus includes: an image acquisition module, configured toobtain an auto part image corresponding to an auto part; a check module,configured to: store a constructed component damage identificationmodel, and check the auto part image by using the component damageidentification model, to determine a damaged area and a damage type ofthe auto part; and a damage determination processing module, configuredto generate a repair plan for the auto part based on information,including the damaged area and the damage type of the auto part.

An image-based vehicle damage determination apparatus is provided, andincludes a processor and a memory configured to store an instructionthat can be executed by the processor, wherein when executing theinstruction, the processor implements the following operations:obtaining an auto part image corresponding to an auto part; checking theauto part image by using a constructed component damage identificationmodel, to determine a damaged area and a damage type of the auto part;and generating a repair plan for the auto part based on information,including the damaged area and the damage type of the auto part.

A computer readable storage medium is provided, where the computerreadable storage medium stores a computer instruction, and when theinstruction is executed, the following steps are implemented: obtainingan auto part image corresponding to an auto part; checking the auto partimage by using a constructed component damage identification model, todetermine a damaged area and a damage type of the auto part; andgenerating a repair plan for the auto part based on informationincluding the damaged area and the damage type of the auto part.

An electronic device is provided, and includes a processor and a memoryconfigured to store an instruction that can be executed by theprocessor, where when executing the instruction, the processorimplements the following operations: obtaining an auto part imagecorresponding to an auto part; checking the auto part image by using aconstructed component damage identification model, to determine adamaged area and a damage type of the auto part; and generating a repairplan for the auto part based on information including the damaged areaand the damage type of the auto part.

According to the image-based vehicle damage determination method andapparatus, and the electronic device provided in the presentapplication, a training model identifying information such as a damagedarea and a damage type more comprehensively and reliably can beconstructed, and a damaged area and a damage type corresponding to thedamaged area of an auto part can be detected by using the model, so asto obtain information required for accurate and comprehensive damagedetermination of the auto part. Further, in the implementations of thepresent application, a repair plan for the auto part is generated byusing information including the identified damaged area and the damagetype, so as to provide more accurate and reliable damage determinationinformation with a practical reference value for an insurance staff anda vehicle owner. In the implementations of the present application, arepair plan can be automatically generated based on specific vehicledamage information, an auto part price library, and a maintenanceprocessing method, so as to satisfy a requirement of an insurancecompany or a vehicle owner for quick, comprehensive, accurate, andreliable vehicle damage determination processing, improve accuracy andreliability of a vehicle damage determination processing results, andimprove user service experience.

BRIEF DESCRIPTION OF DRAWINGS

To describe the technical solutions in the implementations of thepresent application or in the existing technologies more clearly, thefollowing briefly describes the accompanying drawings for describing theimplementations or the existing technologies. Apparently, theaccompanying drawings in the following description merely show someimplementations of the present application, and a person of ordinaryskill in the art can still derive other drawings based on these drawingswithout creative efforts.

FIG. 1 is a flowchart of an image-based vehicle damage determinationmethod, according to an implementation of the present application;

FIG. 2 is a schematic flowchart of an image-based vehicle damagedetermination method according to another implementation of the presentapplication;

FIG. 3 is a schematic diagram of a network structure of a neural networkfor identifying an auto part image according to an implementation of thepresent application;

FIG. 4 is a schematic structural diagram of modules of an image-basedvehicle damage determination apparatus according to an implementation ofthe present application;

FIG. 5 is a schematic structural diagram of an electronic deviceaccording to an implementation of the present application;

FIG. 6 is a schematic diagram of a processing scenario of vehicle damagedetermination according to an implementation of the present application;

FIG. 7 is a flowchart illustrating an example of a computer-implementedmethod for planning vehicle repair, according to an implementation ofthe present disclosure.

DESCRIPTION OF EMBODIMENTS

To help a person with ordinary skill in the art better understand thetechnical solutions in the present application, the following clearlyand completely describes the technical solutions in the implementationsof the present application with reference to the accompanying drawingsof the implementations of the present application. Apparently, thedescribed implementations are merely some but not all of theimplementations of the present application. All other implementationsobtained by a person of ordinary skill in the art based on theimplementations of the present application without creative effortsshall fall within the protection scope of the present application.

FIG. 1 is a flowchart of an image-based vehicle damage determinationmethod according to an implementation of the present application.Although the present application provides a method operation step or anapparatus structure shown in the following implementations or theaccompanying drawings, the method or apparatus can include more or,after combination, fewer operation steps or module units based on aconventional or non-creative effort. In steps or a structure without anecessary causal relationship in logic, an execution sequence of thesesteps or a module structure of the apparatus is not limited to theexecution sequence or the module structure shown in the implementationsof the present application or the accompanying drawings. In actualapparatus, servers, or terminal product applications (APPs), the methodor the module structure can be performed sequentially or in parallelbased on the method or the module structure shown in the implementationsor the accompanying drawings (for example, a parallel processor or amulti-threaded processing environment, or even a distributed processingimplementation environment and a server cluster implementationenvironment).

In existing actual traffic accident such as a scratch accident, there isusually a need to wait for an adjustor of an insurance company to take apicture on the scene before a party can leave the scene. Therefore,traffic jams may often be caused, a large amount of time may be wasted,and the time for obtaining information about a damage determinationresult can be relatively long. In the implementations of the presentapplication, when a traffic accident happens, a party vehicle ownerinvolved usually wants to know a damage or a claim status of theirvehicle or the other vehicle involved. In such case, the vehicle ownercan take a picture of the traffic accident scene as evidence. Inaddition, automatic evaluation of vehicle damage and a claim status,etc. can be performed by using an APP and based on the pictures taken,in order to satisfy the need of the party vehicle owner for quick,comprehensive, accurate, and reliable vehicle damage determinationprocessing.

For clarity, the following implementations are described by using aspecific application scenario that a party vehicle owner requests avehicle damage determination service by using a mobile APP. In theapplication scenario of the implementations, the vehicle owner can takea picture of the damaged location of the vehicle by using a mobiledevice (such as a mobile phone) on a traffic accident scene, and thenupload the picture (or image) by using the APP. When uploading thepicture, the vehicle owner can select or input information about an autopart such as a front bumper, a left front door, or a taillight of thevehicle. After obtaining the picture of the single auto part that isuploaded by the vehicle owner, a cloud server can identify a damagedarea location and a damage type of the auto part in the picture based ona machine learning algorithm. The cloud server can then develop a ruleengine, invoke different pricing scheme databases based on repairstrategy information such as vehicle model, location, and repair shop,and generate at least one repair plan for the auto part. The repair plancan be returned to the vehicle owner, and the vehicle owner can quicklyobtain a vehicle damage determination result. Certainly, if the user isan insurance company employee, the repair plan can be returned directlyto the insurance company, or a repair plan can be directly displayed.However, a person skilled in the art can understand that the spirit ofthe present solution can be applied to other implementation scenarios ofvehicle damage determination, for example, automatic vehicle damagedetermination of an insurance company or a repair shop, or self-servicevehicle damage determination services provided by 4S stores or otherservice providers.

Specifically, an implementation is shown in FIG. 1. In an implementationof an image-based vehicle damage determination method according to thepresent application, the method can include the following steps.

S1. Obtain an auto part image corresponding to an auto part. A servercan obtain an auto part image of a single auto part from a client or athird-party server (such as a server of an insurance company). In thisimplementation, the previous auto part images can be considered as animage of the auto part. The auto part image in this implementation canbe a general name of various graphics and images, generally refers to apicture having a visual effect, and can usually include a picture on amedium such as a paper, a negative, a photo, a television, a projector,or a computer screen. In the application scenario of thisimplementation, when uploading the auto part image, the vehicle ownercan specify component information of the auto part image, for example,an auto part image of a front bumper, a left front door, or a taillight.Certainly, the client or the server side can tag information of acorresponding auto part for the obtained auto part image. The auto partis usually a component on a vehicle, for example, a front bumper, a leftfront door, or a taillight.

In an optional implementation, it can be further determined whetherimage quality of the auto part image reaches a predetermined processingrequirement. If the image quality is relatively poor, for example, thepicture is obscure and cannot be identified, the auto part image can bediscarded, and feedback can be returned to the mobile APP to prompt theuser to consider factors such as focusing and illumination that affectdefinition when the user takes a picture.

S2. Determine a damaged area and a damage type of the auto part byparsing the auto part image using a pre-constructed auto part damageidentification model. After obtaining the auto part image, the cloudserver side can parse the auto part image by using the pre-constructedauto part damage identification model, to identify the damaged area andthe damage type of the auto part in the image. The damaged area in thisimplementation is usually a part that is damaged on the vehicle. Adamaged auto part may include a plurality of damaged areas, and eachdamaged area corresponds to a damage type (for example, severescratching or mild deformation). In this implementation, a locationregion of a damaged area in an image to be processed can be parsed toidentify a damage type. The damage type in this implementation caninclude types such as mild scratching, severe scratching, milddeformation, moderate deformation, severe deformation, damage, anddisassembling-required check, etc.

In this implementation, a designed machine-learning algorithm can beused in advance to construct a component damage identification modelused to identify the damaged area and the damage type of the auto partin the image. After sample training, the component damage identificationmodel can identify the damaged area and the damage type of the auto partin the auto part image. In this implementation, the component damageidentification model can use network models or transformed networkmodels of a deep neural network, and is constructed after sample imagetraining. In another implementation of the method provided in thepresent application, the component damage identification model can beconstructed based on a convolutional neural network (CNN) and a regionproposal network (RPN) with reference to a pooling layer, a fullyconnected layer, etc. Therefore, in another implementation of the methodof the present application, the component damage identification modelincludes: S201. A deep neural network constructed after sample datatraining and based on network models of a convolutional layer and aregion proposal layer. The convolutional neural network is usually aneural network mainly including a convolutional layer (CNN) withreference to other layers such as an activation layer, and is mainlyused for image identification. The deep neural network in thisimplementation can include a convolutional layer and other importantlayers (such as a pooling layer, a data normalization layer, and anactivation layer), and is constructed with reference to a regionproposal network (RPN). The convolution neural network usually combinesa two-dimensional discrete convolution operation with an artificialneural network in image processing. The convolution operation can beused to automatically extract a feature. The region proposal network(RPN) can use a feature extracted from an image (of any size) as aninput (a two-dimensional feature extracted by the convolutional neuralnetwork can be used), and output a set of rectangular target proposalboxes. Each box has an object score. To avoid confusion, in thisimplementation, the convolutional neural network (CNN) used can bereferred to as a convolutional layer (CNN), and a region proposalnetwork (RPN) can be referred to as a region proposal layer (RPN). Inanother implementation of the present application, the component damageidentification model can further include the deep CNN constructed aftersample data training and based on a transformed network model obtainedafter the CNN network or the RPN has been improved.

The model and algorithm used in the previous implementation can selectthe same model or algorithm. Specifically, for example, in a componentidentification model, a plurality of models and transformations based onthe convolutional neural network and the region proposal network can beused, for example, Faster R-CNN, YOLO, and Mask-FCN. The convolutionalneural network (CNN) can use any CNN model, for example, ResNet,Inception, VGG, and their transformations. Generally, a convolutionalnetwork (CNN) part in a neural network can use a developed networkstructure having a relatively good capability in object identification,for example, an Inception or ResNet network. Using a ResNet network asan example, if the input is a picture, the output can be a plurality ofpicture regions with damaged areas, corresponding damage categories (thedamage categories are used to determine damage types), and confidence(confidence is a parameter indicating a degree of authenticity of thedamage type). Faster R-CNN, YOLO, Mask-FCN, etc. are deep neuralnetworks that include the convolutional layer and can be used in thisimplementation. The deep neural network used in this implementation candetect a damaged area, a damage type, and a location region of thedamaged area in the auto part image with reference to the regionproposal layer and the CNN layer.

It should be noted that, in an implementation of the presentapplication, the auto part image can be parsed by using an individualalgorithm server to identify the damaged area and the damage type of theauto part in the auto part image. For example, a service server isconfigured to obtain the auto part image of the auto part and output arepair plan. An algorithm server can also be configured to store theconstructed component damage identification model, parse and identifythe auto part image on the service server, and determine the damagedarea and the damage type of the auto part. Certainly, the previousprocessing can also be done by the same server.

S3. Generate a repair plan for the auto part based on informationincluding the damaged area and the damage type of the auto part. Afterdetermining the damaged area and the damage type of the auto part, thealgorithm server can generate the repair plan for the auto part based onthe previous information and a predetermined processing rule. Forexample, a left front panel of a B1-model vehicle of a manufacturer A1in 2016 is mildly deformed and requires metal beating processing; a leftfront door of a B2-model vehicle of a manufacturer A2 in 2010 isseverely scratched and severely deformed and requires replacementprocessing; a front bumper of a B3-model vehicle of a manufacturer A3 in2013 is mildly scratched and requires spray painting, and a leftheadlight needs to be disassembled for inspection, etc.

In another implementation of the method in the present application, tosatisfy user's need for a price quotation in a vehicle damagedetermination, the repair plan can further include information about anestimated price for auto part repair, so that the user can learn repairprice information, select a more suitable repair option, satisfy userrequirement, and improve user experience. Therefore, in anotherimplementation of the method in the present application, the method canfurther include the following step: S300. Obtain information about arepair strategy of the auto part. Correspondingly, the repair plan canfurther include an estimated repair price corresponding to the repairstrategy, and the estimated repair price is an estimated repair price ofthe auto part that is calculated based on the information including thedamaged area, the damage type, and the repair strategy of the auto part,price of auto parts included in the repair strategy and the cost of therepair service.

FIG. 2 is a schematic flowchart of another implementation of the methodin the present application. In a specific implementation, a calculationrule can be designed, to invoke different price libraries based on theinformation about the repair strategy such as a model of the auto part,a selected repair location of the auto part, a repair shop (4S store ora common integrated repair shop), and generate the repair plan for theauto part that includes a preliminary repair processing method and acorresponding estimated repair price. The information about the repairstrategy can be selected by the user. For example, the user can select arepair location (for example, based on a city-level or district-leveldivision), select a 4S store or an integrated repair shop, and input avehicle brand and model. Afterwards, the algorithm server can obtain thefollowing repair plan based on information about the repair strategy ofthe auto part and the identified damaged area and damage type:

A front bumper of a B3-model vehicle of the manufacturer A3 in 2013 ismildly scratched and requires spray painting, and estimated repair costat a local 4S store is 600 yuan RMB.

Certainly, in another implementation, information such as a damaged autopart, a damage type, and a degree of damage of the vehicle on anaccident scene can also be obtained based on claim experience of aconventional vehicle insurance company, and an engine module is createdwith reference to information such as repair hours and costs at the 4Sstore. When an APP used for actual processing identifies the damagedarea and the damage type of the auto part, the engine module can beinvoked to output a damage determination result for the auto part.

The information about the repair strategy can be modified or replaced.For example, if the user can select the 4S store for repair, there is acorresponding repair strategy and a corresponding repair plan. If theuser selects the integrated repair shop for repair, there is anothercorresponding repair strategy, and another repair plan is generatedaccordingly.

It should be understood that damage determination can usually includetwo pieces of information: damage evaluation and price evaluation. Inthis implementation of the present application, if the output repairplan for the auto part does not include information about repair costs,damage determination can be the damage evaluation. If the output repairplan for the auto part includes information about repair costs, both thedamage evaluation and the price evaluation are performed. The two repairplans included in vehicle damage determination processing.

According to the image-based vehicle damage determination methodprovided in this implementation of the present application, a trainingmodel more comprehensively and reliably identifying information such asa damaged area and a damage type can be constructed, and a damaged areaand a damage type corresponding to the damaged area of an auto part canbe detected by using the model, so as to obtain information needed foraccurate and comprehensive damage determination of the auto part.Further, in this implementation of the present application, a repairplan for the auto part is generated by using information including theidentified damaged area and the damage type, so as to provide moreaccurate and reliable damage determination information with a practicalreference value for an insurance staff and a vehicle owner. In anotherimplementation of the present application, a repair plan and estimatedrepair costs can be automatically generated based on more specificvehicle damage information, an auto part price library, and a repairprocessing method, so as to satisfy a requirement of an insurancecompany or a vehicle owner for quick, comprehensive, accurate, andreliable vehicle damage determination processing, improve accuracy andreliability of a vehicle damage determination processing result, andimprove user service experience.

In another implementation scenario, the obtained auto part image caninclude a plurality of damaged areas. In another implementation of themethod in the present application, the deep neural network model can beset to identify each damaged area and a damage degree (a damage type) ofeach damaged area. Specifically, in an implementation, when thecurrently processed auto part image includes at least two damaged areas,the component damage identification model is configured to: S200.Identify, based on the auto part image, the damaged areas of the autopart and one or more damage types corresponding to the damaged areas.S210. Select a damaged area corresponding to a damage type of the one ormore damage types that has a highest damage degree as the damaged areaof the auto part. Correspondingly, the damage type with the highestdamage degree is the determined damage type of the auto part.

Each damage type usually corresponds to a respective repair plan. Forexample, severe deformation corresponds to replacement, mild deformationrequires metal beating, and mild scratching requires spray painting. Forthe user, one repair plan can be eventually output for one component.When a plurality of parts is damaged, a repair method for a part that isdamaged the worst is used as a final processing method for the entirecomponent. Generally, an auto part of the vehicle can be considered as awhole. When more than one area on the auto part is damaged, it isappropriate to process the most severe damage. In this implementation,one repair plan may be selected to repair all the damages. For example,a damage type of a damaged area is severe damage, and replacement isrequired; a damage type of another damaged area is moderate deformationand requires metal beating. In this case, replacement can be performedwithout the need of metal beating.

In the previous implementation, a plurality of damaged areas in a singleauto part image can be identified during model training. During specificsample training, if a picture is used as input, a plurality of pictureregions and corresponding damage categories are output. The selectedneural network parameter can be obtained after mini-batch gradientdescent training performed by using marked data. For example, whenmini-batch=32, 32 training pictures are used as inputs. The marked datamarks a region and an image of a corresponding type, and can be obtainedby manually marking a real vehicle damage picture. An input of theneural network is a picture, and the output region is related to thenumber of damaged areas in the picture. Specifically, for example, ifthere is one damaged area, one picture region can be the output; ifthere are K damaged areas, K picture regions can be the output; and ifthere is no damaged area, no picture region is output.

In damage determination processing, the auto part image is input to theneural network. If there is a plurality of damaged areas, a plurality ofpicture regions including the damaged areas is detected, the pictureregions are parsed, damage types of the picture regions are determined,and damaged areas and damage types corresponding to the picture regionsare separately output. Further, in this implementation, a damaged areacorresponding to a damage type that is in the damage types and thatindicates a highest damage degree can be selected as the damaged area ofthe auto part. Correspondingly, the damage type with the highest damagedegree is the determined damage type of the auto part. FIG. 3 is aschematic diagram of a network structure of a neural network forchecking an auto part image according to an implementation of thepresent application.

In another implementation scenario, if a plurality of pictures of asingle component is obtained, damaged areas and damage categories can beseparately detected from the pictures, so as to combine parsing resultsof the plurality of pictures to obtain a more reliable result.Therefore, in another implementation of the method in the presentapplication, if at least two auto part images of the auto part areobtained, the parsing of the auto part image using a constructedcomponent damage identification model to determine a damaged area and adamage type of the auto part includes the following steps:

S20. Separately check the auto part images by using the component damageidentification model, to determine a damaged area and a damage type ofeach auto part image.

S21. Parsing, based on a predetermined rule, the damaged areas and thedamage types corresponding to each auto part image, to determine thedamaged area and the damage type of the auto part.

The parsing step of the method can be customized. For example, todetermine the damaged area and the damage type of each auto part image,a damage type with the highest damage degree can be selected as anoutput damage type and a corresponding damaged area of the auto part.For example, assume that two pictures of a rear bumper are obtained, onetaken from the side and the other taken from the front. A parsing resultof identifying the picture taken from the front is that the rear bumperis mildly deformed on the right. However, a parsing result obtained byidentifying the picture taken from the side is that the rear bumper isdamaged with a damage type more severe than mild deformation. Thepicture shot from the front is not comprehensive, and the picture shotfrom the side shows a more real damage status of the rear bumper.Therefore, the parsing results of the two pictures can be combined byusing the solution provided in this implementation, that the rear bumperis damaged, so that the output result is more reliable.

Based on the previous image-based vehicle damage determination method,the present application further provides an image-based vehicle damagedetermination apparatus. The apparatus can include a system (including adistributed system), software (an application), a module, a component, aserver, a client, etc. that use the method according to the presentapplication. The apparatus can further include necessary implementationhardware. Based on a same inventive concept, the apparatus according toan implementation of the present application is described in thefollowing descriptions. Implementation schemes of the apparatus forproblem resolution are similar to that of the method. Therefore, forspecific implementation of the apparatus in the present application,references can be made to the implementation of the method. Repetitivedetails are not separately described. The term “unit” or “module”described below can be implemented as a combination of software and/orhardware of a predetermined function. Although the apparatus describedin the following implementation is preferably implemented by software,the apparatus may also be implemented by hardware or a combination ofsoftware and hardware. Specifically, FIG. 4 is a schematic diagram ofmodules of an image-based vehicle damage determination apparatus,according to an implementation of the present application. As shown inFIG. 4, the apparatus can include: an image acquisition module 101,configured to obtain an auto part image corresponding to an auto part; acheck module 102, configured to: store a constructed component damageidentification model, and check the auto part image by using thecomponent damage identification model, to determine a damaged area and adamage type of the auto part; and a damage determination processingmodule 103, configured to generate a repair plan for the auto part basedon information including the damaged area and the damage type of theauto part.

Referring to the method, the apparatus can be further implemented inanother way. For example, the component damage identification model canbe a deep neural network constructed after sample data training andbased on network models of a convolutional layer and a region proposallayer. Alternatively, the apparatus can further include a repairstrategy acquisition module, or directly use the damage determinationprocessing module 103, to obtain information about a repair strategy ofthe auto part and generate a repair plan including an estimated repairprice. For details, references can be made to related descriptions inthe method implementations; hence are not described again here.

The method or apparatus in the present application can be implemented byusing a computer program and necessary hardware, and can be configuredin a device, so that an image-based vehicle damage determination resultcan be quickly and reliably output. Therefore, the present applicationcan further provide an image-based vehicle damage determinationapparatus that can be used on the server side, and can include aprocessor and a memory configured to store an instruction that can beexecuted by the processor. When executing the instruction, the processorimplements the following operations: obtaining an auto part imagecorresponding to an auto part; checking the auto part image by using aconstructed component damage identification model, to determine adamaged area and a damage type of the auto part; and generating a repairplan for the auto part based on information including the damaged areaand the damage type of the auto part.

In specific actual processing, the apparatus can further include otherprocessing hardware such as a GPU (Graphics Processing Unit). Asdescribed in the previous method, in another implementation of theapparatus, when executing the instruction, the processor can furtherimplement the following operation: obtaining information about a repairstrategy of the auto part.

Correspondingly, the repair plan can further include an estimated repairprice corresponding to the repair strategy, and the estimated repairprice is an estimated repair price of the auto part that is calculatedbased on the information including the damaged area, the damage type,and the repair strategy of the auto part and pricing informationcorresponding to a product and/or a repair service of the auto part inthe repair strategy.

In another implementation of the apparatus, an instruction of theconstructed component damage identification model can include analgorithm processing instruction of a deep neural network constructedafter sample data training and based on network models of aconvolutional layer and a region proposal layer.

In another implementation of the apparatus, when executing theinstruction, if confirming that the currently processed auto part imageincludes at least two damaged areas, the processor executes theinstruction of the component damage identification model to implementthe following operations: identifying, based on the auto part image, thedamaged areas of the auto part and damage types corresponding to thedamaged areas; and selecting a damaged area corresponding to a damagetype that is in the damage types and that indicates a highest damagedegree as the damaged area of the auto part, where correspondingly, thedamage type with the highest damage degree is the determined damage typeof the auto part.

In another implementation of the apparatus, when the processor executesthe instruction, if at least two auto part images of the auto part areobtained, the checking, by the processor, the auto part image by using aconstructed component damage identification model, to determine adamaged area and a damage type of the auto part includes: separatelychecking the auto part images by using the component damageidentification model, to determine a damaged area and a damage type ofeach auto part image; and performing, based on a predetermined rule,combined selection on the damaged areas and the damage typescorresponding to the auto part images, to determine a result of thedamaged area and the damage type of the auto part.

According to the image-based vehicle damage determination apparatusprovided in this implementation of the present application, a trainingmodel identifying information such as a damaged area and a damage typemore comprehensively and reliably can be constructed, and a damaged areaand a damage type corresponding to the damaged area of an auto part canbe detected by using the model, so as to obtain information required foraccurate and comprehensive damage determination of the auto part.Further, in this implementation of the present application, a repairplan for the auto part is generated by using information including theidentified damaged area and the damage type, so as to provide moreaccurate and reliable damage determination information with a practicalreference value for an insurance staff and a vehicle owner. In anotherimplementation of the present application, a repair plan and estimatedrepair costs can be automatically generated based on more specificvehicle damage information, an auto part price library, and a repairprocessing method, so as to satisfy a requirement of an insurancecompany or a vehicle owner for quick, comprehensive, accurate, andreliable vehicle damage determination processing, improve accuracy andreliability of a vehicle damage determination processing result, andimprove user service experience.

The method or apparatus in the previous implementations of the presentapplication can implement service logic by using a computer program andrecord the service logic in a storage medium, and the storage medium canbe read and executed by a computer, so as to implement effects of thesolutions described in the implementations of the present application.Therefore, the present application further provides a computer readablestorage medium. The computer readable storage medium stores a computerinstruction, and when the instruction is executed, the following stepsare implemented: obtaining an auto part image corresponding to an autopart; checking the auto part image by using a constructed componentdamage identification model, to determine a damaged area and a damagetype of the auto part; and generating a repair plan for the auto partbased on information including the damaged area and the damage type ofthe auto part.

The computer readable storage medium can include a physical apparatusconfigured to store information. The apparatus usually stores theinformation in an electric, magnetic, optical, etc. way after theinformation is digitized. The computer readable storage medium in thisimplementation can include an apparatus for storing information in anelectric way, for example, various memories such as a RAM and a ROM; anapparatus for storing information in a magnetic way, for example, a harddisk, a floppy disk, a magnetic tape, a core memory, a bubble memory,and a USB flash disk; and an apparatus for storing information in anoptical way, for example, a CD or a DVD. Certainly, there are otherreadable storage media such as a quantum memory and a graphene memory.

The apparatus or method can be used in an electronic device for imageprocessing, so as to implement quick image-based vehicle damagedetermination processing. The electronic device can be a separateserver, or can be a system cluster including a plurality of applicationservers, or can be a server in a distributed system. FIG. 5 is aschematic structural diagram of an electronic device, according to animplementation of the present application. In an implementation, theelectronic device can include a processor and a memory configured tostore an instruction that can be executed by the processor. Whenexecuting the instruction, the processor implements the followingoperations: obtaining an auto part image corresponding to an auto part;checking the auto part image by using a constructed component damageidentification model, to determine a damaged area and a damage type ofthe auto part; and generating a repair plan for the auto part based oninformation including the damaged area and the damage type of the autopart.

FIG. 6 is a schematic diagram of a processing scenario of vehicle damagedetermination according to an implementation of the present application.A client in FIG. 6 is a mobile terminal of a user, and can be a PC oranother terminal device in another implementation scenario. According tothe image-based vehicle damage determination method and apparatus, andthe electronic device provided in the present application, a damagedarea and a damage type are detected by using a deep learning technology,the damaged area can be accurately located by using an image matchingmethod, and damage determination accuracy can be improved by using amulti-image check result. An image check technology, an auto part pricelibrary, and a repair rule are combined to automatically generate arepair plan and price evaluation. In another implementation of thepresent application, a repair plan and estimated repair costs can beautomatically generated based on more specific vehicle damageinformation, an auto part price library, and a repair processing method,so as to satisfy the requirement of an insurance company or a vehicleowner for quick, comprehensive, accurate, and reliable vehicle damagedetermination processing, improve accuracy and reliability of a vehicledamage determination, and improve user service experience.

It should be noted that, although the previous implementations describesome implementations of the apparatus, the electronic device, and thecomputer readable storage medium, they can be further implemented inother manners based on the related descriptions of the method orapparatus implementations. For details, refer to the relateddescriptions of the method or apparatus implementations. Details are notdescribed here to avoid redundancy.

Although the present application includes descriptions of data modelconstruction and data acquisition, exchange, calculation, anddetermination such as image quality processing, a convolution neuralnetwork, a region proposal network, and a deep neural network generatedby using a combination of the convolution neural network and the regionproposal network, a calculation method of an estimated repair price, anda processing method of a plurality of auto part images of a samecomponent, the present application is not limited to complying with anindustry communications standard, a standard data model, a computerprocessing and storage rule, or a case described in the implementationsof the present application. Some industry standards or implementationsolutions that are slightly modified in a self-defined way or based onimplementations described in the implementations can also implementsame, equivalent, similar, or deformed but expected implementationeffects. Implementations obtained by using these modifications ortransformed methods of data acquisition, storage, determination, andprocessing can still fall within the scope of the optionalimplementations of the present application.

In the 1990s, whether improvement in a technology is improvement inhardware (for example, improvement in a circuit structure such as adiode, a transistor, or a switch) or improvement in software(improvement in a method procedure) can be clearly determined. However,with technology development, improvement in many methods today can beconsidered as direct improvement in a hardware circuit structure. Adesigner often obtains a corresponding hardware circuit structure byprogramming an improved method into a hardware circuit. Therefore, itcannot be said that improvement in a method procedure cannot beimplemented by using a hardware entity module. For example, aprogrammable logic device (PLD) (for example, a field programmable gatearray (FPGA)) is such an integrated circuit, and a logical function isdetermined by a user based on component programming. The designer“integrates” a digital system into a PLD by programming, and does notneed a chip manufacturer to design and manufacture a dedicatedintegrated circuit chip. In addition, an integrated circuit chip is notcurrently manually manufactured, and this programming is mostlyimplemented by using “logic compiler” software. It is similar to asoftware compiler used during program development and writing. Originalcode waiting to be compiled also needs to be written with a specificprogramming language. It is called a hardware description language(HDL). There is not only one HDL but a plurality of HDLs such as ABEL(Advanced Boolean Expression Language), AHDL (Altera HardwareDescription Language), Confluence, CUPL (Cornell University ProgrammingLanguage), HDCal, JHDL (Java Hardware Description Language), Lava, Lola,MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). VHDL(Very-High-Speed Integrated Circuit Hardware Description Language) andVerilog are most frequently used currently. A person skilled in the artshould also understand that a method procedure only needs to belogically programmed by using the previous hardware descriptionlanguages and programmed into an integrated circuit, to obtain ahardware circuit that implements the logical method procedure.

The controller can be implemented in any suitable way. For example, thecontroller can be implemented in a form of a microprocessor, aprocessor, a computer readable medium storing computer readable programcode (for example, hardware or firmware) that can be executed by theprocessor (microprocessor), a logic gate, a switch, anapplication-specific integrated circuit (ASIC), a programmable logiccontroller, and an embedded microcontroller. The controller includes butis not limited to the following microcontrollers: ARC 625D, AtmelAT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. A memorycontroller can be implemented as a part of control logic of the memory.A person skilled in the art also knows that, in addition to implementingthe controller by using computer readable program code only, the methodsteps can be logically programmed, so that the controller implements asame function in a form of a logic gate, a switch, anapplication-specific integrated circuit, a programmable logiccontroller, an embedded microcontroller, etc. Therefore, the controllercan be considered as a hardware component, and an apparatus that isincluded in the controller and configured to implement various functionscan also be considered as a structure in the hardware component.Alternatively, an apparatus configured to implement various functionscan be considered as both a software module implementing the method anda structure in a hardware component.

The system, apparatus, module, or unit described in the previousimplementations can be specifically implemented by a computer chip or anentity, or implemented by a product having a specific function. Atypical implementation device is a computer. Specifically, the computercan be a personal computer, a laptop computer, an in-vehiclehuman-computer interaction device, a cellular phone, a camera phone, asmartphone, a personal digital assistant, a media player, a navigationdevice, an e-mail device, a game console, a tablet computer, a wearabledevice, or a combination of any of these devices.

Although the present application provides the method operation stepsdescribed in the implementations or flowcharts, more or fewer operationsteps can be included based on a conventional or non-creative method.The step sequence listed in the implementations is merely one of aplurality of step execution sequences, and does not represent a uniqueexecution sequence. In actual apparatus or terminal product execution,the steps can be performed sequentially or in parallel based on themethod shown in the implementations or the accompanying drawings (forexample, a parallel processor or a multi-threaded processingenvironment, or even a distributed data processing environment). Theterm “include”, “contain”, or any other variants means to cover thenon-exclusive inclusion, so that a process, method, product, or devicethat includes a series of elements not only includes those elements, butalso includes other elements not expressly listed, or further includeselements inherent to the process, method, product, or device. When thereare no more limitations, other same or equivalent elements can befurther included in the process, method, product, or device thatincludes the elements.

For ease of description, the apparatus is described by dividing theapparatus into various modules in terms of functions. Certainly, duringimplementation of the present application, the functions of the modulescan be implemented in one or more pieces of software and/or hardware, ora plurality of submodules or subunits implementing a same function canbe jointly implemented. The described apparatus implementation is merelyan example. For example, the unit division is merely logical functiondivision and can be other division in actual implementation. Forexample, a plurality of units or components can be combined orintegrated into another system, or some features can be ignored or notperformed. In addition, the displayed or discussed mutual couplings ordirect couplings or communication connections can be implemented byusing some interfaces. The indirect couplings or communicationconnections between the apparatus or units can be implemented inelectronic, mechanical, or other forms.

A person skilled in the art also knows that, in addition to implementingthe controller by using computer readable program code only, the methodsteps can be logically programmed, so that the controller implements asame function in a form of a logic gate, a switch, anapplication-specific integrated circuit, a programmable logiccontroller, an embedded microcontroller, etc. Therefore, the controllercan be considered as a hardware component, and an apparatus that isincluded in the controller and configured to implement various functionscan also be considered as a structure in the hardware component.Alternatively, an apparatus configured to implement various functionscan be considered as both a software module implementing the method anda structure in a hardware component.

The present disclosure is described with reference to the flowchartsand/or block diagrams of the method, the device (system), and thecomputer program product according to the implementations of the presentdisclosure. It should be understood that computer program instructionscan be used to implement each process and/or block in the flowchartsand/or the block diagrams and a combination of processes and/or blocksin the flowcharts and/or the block diagrams. These computer programinstructions can be provided for a general-purpose computer, a dedicatedcomputer, an embedded processor, or a processor of any otherprogrammable data processing device to generate a machine, so that theinstructions executed by the computer or the processor of any otherprogrammable data processing device generate an apparatus forimplementing a specific function in one or more processes in theflowcharts and/or in one or more blocks in the block diagrams.

These computer program instructions can be stored in a computer readablememory that can instruct the computer or any other programmable dataprocessing device to work in a specific way, so that the instructionsstored in the computer readable memory generate an artifact thatincludes an instruction apparatus. The instruction apparatus implementsa specific function in one or more processes in the flowcharts and/or inone or more blocks in the block diagrams.

These computer program instructions can be loaded onto a computer oranother programmable data processing device, so that a series ofoperations and steps are performed on the computer or anotherprogrammable device, thereby generating computer-implemented processing.Therefore, the instructions executed on the computer or anotherprogrammable device provide steps for implementing a specific functionin one or more processes in the flowcharts and/or in one or more blocksin the block diagrams.

In a typical configuration, the computing device includes one or morecentral processing units (CPU), an input/output interface, a networkinterface, and a memory.

The memory can include a non-persistent memory, a random access memory(RAM), and/or a non-volatile memory such as a read-only memory (ROM) ora flash memory (flash RAM) in a computer readable medium. The memory isan example of the computer readable medium.

The computer readable medium includes a persistent medium and anon-persistent medium, or a movable medium and an unmovable medium thatcan store information by using any method or technology. The informationcan be a computer readable instruction, a data structure, a programmodule, or other data. The computer storage medium includes but is notlimited to a phase change memory (PRAM), a static random access memory(SRAM), a dynamic random access memory (DRAM), a random access memory(RAM) of another type, a read-only memory (ROM), an electricallyerasable programmable read-only memory (EEPROM), a flash memory oranother memory technology, a compact disc read-only memory (CD-ROM), adigital versatile disc (DVD) or other optical storage, a cassettemagnetic tape, a tape or disk storage device or another magnetic storagedevice or any other non-transmission medium that can be configured tostore information that can be accessed by a computing device. As definedin this specification, the computer readable medium does not includetransitory media, for example, a modulated data signal and carrier.

A person skilled in the art should understand that the implementationsof the present application can be provided as a method, a system, or acomputer program product. Therefore, the present application can use aform of hardware only implementations, software only implementations, orimplementations with a combination of software and hardware. Moreover,the present application can use a form of a computer program productthat is implemented on one or more computer-usable storage media(including but not limited to a disk memory, a CD-ROM, an opticalmemory, and the like) that include computer-usable program code.

The present application can be described in a general context of acomputer executable instruction executed by a computer, for example, aprogram module. Generally, the program module includes a routine, aprogram, an object, a component, a data structure, etc. for executing aspecific task or implementing a specific abstract data type. The presentapplication can also be practiced in a distributed computing environmentthat tasks are performed by remote processing devices that are connectedby using a communications network. In the distributed computingenvironment, the program module can be in both local and remote computerstorage media including storage devices.

The implementations in this specification are all described in aprogressive manner, for same or similar parts in the implementations,reference can be made to these implementations, and each implementationfocuses on a difference from other implementations. Especially, a systemimplementation is basically similar to a method implementation, andtherefore is described briefly. For related parts, refer to partialdescriptions in the method implementation. In descriptions in thisspecification, descriptions about such reference terms as “animplementation”, “some implementations”, “an example”, “a specificexample”, and “some examples” mean that specific features, structures,materials, or characteristics described with reference to theimplementations or examples are included in at least one implementationor example of the present application. In this specification, exampleexpressions of the terms are not necessarily for a same implementationor example. In addition, the described specific features, structures,materials, or characteristics can be combined in a proper way in any oneor more of the implementations or examples. Moreover, a person skilledin the art can integrate or combine different implementations orexamples and characteristics of different implementations or examplesdescribed in this specification, provided that they do not conflict witheach other.

The previous descriptions are merely implementations of the presentapplication, and are not intended to limit the present application. Fora person skilled in the art, the present application can have variousmodifications and changes. Any modification, equivalent replacement, orimprovement made without departing from the spirit and principle of thepresent application shall fall within the scope of the claims of thepresent application.

FIG. 7 is a flowchart illustrating an example of a computer-implementedmethod 700 for generating vehicle repair plan, according to animplementation of the present disclosure. For clarity of presentation,the description that follows generally describes method 700 in thecontext of the other figures in this description. However, it will beunderstood that method 700 can be performed, for example, by any system,environment, software, and hardware, or a combination of systems,environments, software, and hardware, as appropriate. In someimplementations, various steps of method 700 can be run in parallel, incombination, in loops, or in any order.

At 702, vehicle damage data is received. The vehicle can include anytype of private or public vehicle, such as a car, a truck, a boat, atrain, a helicopter, and/or an airplane. In some implementations, thevehicle damage data is received from a user, such as a vehicle operatoror a vehicle owner. The vehicle operator can take one or more pictures(or images) of the damaged location of the vehicle by using a mobiledevice (such as a mobile phone) at an accident scene involving thedamaged vehicle. The vehicle operator can directly upload the picturesor transmit the pictures to the vehicle owner to upload them. Forexample, the user can access an application configured to supportvehicle repair to upload the acquired pictures. The application can beconfigured to automatically process the images to minimize the amount oftransmitted data to minimize bandwidth requirements. The imageprocessing can include filtering the images to delete features (e.g.,background features) that are irrelevant for damage identification. Theimage processing can include conversion to gray scale images to minimizetransmission bandwidth requirements. The image processing can includecompression to a predetermined file size to minimize transmissionbandwidth requirements. In addition to the pictures, the user canprovide a user identifier (e.g., name and a password) and dataassociated to the uploaded pictures. The data can include indication ofthe damaged auto part (e.g., a front bumper, a left front door, or ataillight of the vehicle), the vehicle owner, insurance information,insurance information of other parties associated to the damagedvehicle, accident conditions, location and time of accident. From 702,method 700 proceeds to 704.

At 704, vehicle damage data is processed to determine whether the dataquality is acceptable and sufficient. If the vehicle damage data isbelow a quality threshold or portions of the vehicle damage data aremissing, from 704, method 700 proceeds to 706.

At 706, additional vehicle damage data are requested from the user. Forexample, the user can be instructed to provide additional pictures thatconform to particular standards that enable image processing. In someimplementations, the user can be instructed to provide additional dataassociated to the uploaded pictures. From 706, method 700 returns to702.

If the vehicle damage data is above the quality threshold, from 704,method 700 proceeds to 708. At 708, the received vehicle damage data isprocessed to retrieve user information based on the user identifier andto identify one or more damaged area locations respective one or moredamage types of the auto parts based on a particular model. The modelcan be configured to perform one or more image processing techniques toparse the vehicle image by using the pre-constructed vehicle part damageidentification model to identify the damaged area and the damage type ofthe vehicle part in the image. The damaged area includes a part that isdamaged on the vehicle. A damaged vehicle part may include a pluralityof damaged areas, and each damaged area corresponds to a damage type(for example, severe scratching or mild deformation). In someimplementations, a location region of a damaged area in an image to beprocessed can be parsed to identify a damage type. The damage type caninclude mild scratching, severe scratching, mild deformation, moderatedeformation, severe deformation, damage, and disassembling-requiredcheck. In some implementations, the damage type can be quantified usingscores (e.g., 1, 2, 3) to differentiate between mild, moderate andsevere damages. The vehicle part damage identification model can includea machine-learning algorithm, a convolutional neural network (CNN), anda region proposal network (RPN), as described with reference to FIGS.1-3. In some implementations, damage identification can includegeneration of damage ranking based on severity of damage. For example,if the vehicle includes multiple damaged areas, the overall damage ofthe vehicle can be ranked using the damage scores of the damaged areas.From 708, method 700 proceeds to 710.

At 710, a repair plan is generated based on the identified damaged arealocations and damage types. The repair plan can be generated using arule engine. The rule engine can invoke different pricing schemedatabases based on a repair strategy associated to the vehicle model,location, and available repair shops, to generate, based on a set ofrules, at least one repair plan for the damaged vehicle part includingthe repair services that can remedy the identified damage. The rules caninclude front-end rules and back-end rules. The front-end rules canindicate contract requirements, such as a minimum type of informationtype necessary to determine a repair plan. These contract-based featuresmay include labor rates, chargeable hours per particular task, or anyother aspect of the work covered by the repair plan. The back-end rulescan indicate whether the repair plan aligns with the identified damage(e.g., in the case of a front-end collision, the system would flag arear tail light assembly indicated as needing repair). The repair plancan include cost estimates and time estimates corresponding to possiblerepair services and locations. In some implementations, generating therepair plan includes transmitting assignment data one or more vehiclerepair shops as part of the first notice of loss (FNOL) process togenerate assignment estimates. Assignment data may include, but not belimited to, damage information, customer name, contact information,insurance claim number, assignment date, loss date, loss type, loss typedetail, loss description, current vehicle location, location wherevehicle may be sent, deductible amount, vehicle type, year/make/model,vehicle identification number (VIN), license plate number, towingcompany information, damage information, prior damage information, andvehicle safety status (drivable/non-drivable). From 710, method 700proceeds to 712.

At 712, the repair plan is transmitted to the user and/or an insurerassociated to the vehicle. The repair plan transmission can includegenerating a repair plan code interpretable by the applicationconfigured to support the vehicle repair. The plan code can be formattedto minimize the amount of transmitted data to minimize bandwidthrequirements and to increase the speed of the visualization process. Theapplication can be configured to generate an alert for the user toindicate that the repair plan is ready to be reviewed. The applicationcan be configured to display the repair plan for the user of the mobiledevice on a graphical user interface of the application. From 712,method 700 proceeds to 714.

At 714, an approval of the repair plan can be received from the userand/or the insurer. The approval of the repair plan can indicate if thefinancial responsibility is accepted by the user, the insurer, and/or athird party. The approval of the repair plan can include a selection ofa repair shop and at least a portion of the possible repair serviceslisted in the proposed repair plan. The approval of the repair plan caninclude a preferred timing to initiate the repair plan. From 714, method700 proceeds to 716.

At 716, in response to receiving the approval of the repair plan, therepair plan is initiated. Initiating the repair plan can includetransmitting work assignment data a selected vehicle repair shop toconduct repair operations. An advantage of communication with thevehicle repair shop is the ability to offer real-time updates when anyof the information changes during the course of the claim and/or repairand may expedite the repair for the customer. After 716, method 700stops.

The implementations of the present disclosure can improve correspondingdata sharing efficiency, while reducing computing resources byminimizing the amount of transmitted data to minimize bandwidthrequirements and to increase the speed of vehicle repair plan generationprocess.

Embodiments and the operations described in this specification can beimplemented in digital electronic circuitry, or in computer software,firmware, or hardware, including the structures disclosed in thisspecification or in combinations of one or more of them. The operationscan be implemented as operations performed by a data processingapparatus on data stored on one or more computer-readable storagedevices or received from other sources. A data processing apparatus,computer, or computing device may encompass apparatus, devices, andmachines for processing data, including by way of example a programmableprocessor, a computer, a system on a chip, or multiple ones, orcombinations, of the foregoing. The apparatus can include specialpurpose logic circuitry, for example, a central processing unit (CPU), afield programmable gate array (FPGA) or an application-specificintegrated circuit (ASIC). The apparatus can also include code thatcreates an execution environment for the computer program in question,for example, code that constitutes processor firmware, a protocol stack,a database management system, an operating system (for example anoperating system or a combination of operating systems), across-platform runtime environment, a virtual machine, or a combinationof one or more of them. The apparatus and execution environment canrealize various different computing model infrastructures, such as webservices, distributed computing and grid computing infrastructures.

A computer program (also known, for example, as a program, software,software application, software module, software unit, script, or code)can be written in any form of programming language, including compiledor interpreted languages, declarative or procedural languages, and itcan be deployed in any form, including as a stand-alone program or as amodule, component, subroutine, object, or other unit suitable for use ina computing environment. A program can be stored in a portion of a filethat holds other programs or data (for example, one or more scriptsstored in a markup language document), in a single file dedicated to theprogram in question, or in multiple coordinated files (for example,files that store one or more modules, sub-programs, or portions ofcode). A computer program can be executed on one computer or on multiplecomputers that are located at one site or distributed across multiplesites and interconnected by a communication network.

Processors for execution of a computer program include, by way ofexample, both general- and special-purpose microprocessors, and any oneor more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random-access memory or both. The essential elements of a computer area processor for performing actions in accordance with instructions andone or more memory devices for storing instructions and data. Generally,a computer will also include, or be operatively coupled to receive datafrom or transfer data to, or both, one or more mass storage devices forstoring data. A computer can be embedded in another device, for example,a mobile device, a personal digital assistant (PDA), a game console, aGlobal Positioning System (GPS) receiver, or a portable storage device.Devices suitable for storing computer program instructions and datainclude non-volatile memory, media and memory devices, including, by wayof example, semiconductor memory devices, magnetic disks, andmagneto-optical disks. The processor and the memory can be supplementedby, or incorporated in, special-purpose logic circuitry.

Mobile devices can include handsets, user equipment (UE), mobiletelephones (for example, smartphones), tablets, wearable devices (forexample, smart watches and smart eyeglasses), implanted devices withinthe human body (for example, biosensors, cochlear implants), or othertypes of mobile devices. The mobile devices can communicate wirelessly(for example, using radio frequency (RF) signals) to variouscommunication networks (described below). The mobile devices can includesensors for determining characteristics of the mobile device's currentenvironment. The sensors can include cameras, microphones, proximitysensors, GPS sensors, motion sensors, accelerometers, ambient lightsensors, moisture sensors, gyroscopes, compasses, barometers,fingerprint sensors, facial recognition systems, RF sensors (forexample, Wi-Fi and cellular radios), thermal sensors, or other types ofsensors. For example, the cameras can include a forward- or rear-facingcamera with movable or fixed lenses, a flash, an image sensor, and animage processor. The camera can be a megapixel camera capable ofcapturing details for facial and/or iris recognition. The camera alongwith a data processor and authentication information stored in memory oraccessed remotely can form a facial recognition system. The facialrecognition system or one-or-more sensors, for example, microphones,motion sensors, accelerometers, GPS sensors, or RF sensors, can be usedfor user authentication.

To provide for interaction with a user, embodiments can be implementedon a computer having a display device and an input device, for example,a liquid crystal display (LCD) or organic light-emitting diode(OLED)/virtual-reality (VR)/augmented-reality (AR) display fordisplaying information to the user and a touchscreen, keyboard, and apointing device by which the user can provide input to the computer.Other kinds of devices can be used to provide for interaction with auser as well; for example, feedback provided to the user can be any formof sensory feedback, for example, visual feedback, auditory feedback, ortactile feedback; and input from the user can be received in any form,including acoustic, speech, or tactile input. In addition, a computercan interact with a user by sending documents to and receiving documentsfrom a device that is used by the user; for example, by sending webpages to a web browser on a user's client device in response to requestsreceived from the web browser.

Embodiments can be implemented using computing devices interconnected byany form or medium of wireline or wireless digital data communication(or combination thereof), for example, a communication network. Examplesof interconnected devices are a client and a server generally remotefrom each other that typically interact through a communication network.A client, for example, a mobile device, can carry out transactionsitself, with a server, or through a server, for example, performing buy,sell, pay, give, send, or loan transactions, or authorizing the same.Such transactions may be in real time such that an action and a responseare temporally proximate; for example an individual perceives the actionand the response occurring substantially simultaneously, the timedifference for a response following the individual's action is less than1 millisecond (ms) or less than 1 second (s), or the response is withoutintentional delay taking into account processing limitations of thesystem.

Examples of communication networks include a local area network (LAN), aradio access network (RAN), a metropolitan area network (MAN), and awide area network (WAN). The communication network can include all or aportion of the Internet, another communication network, or a combinationof communication networks. Information can be transmitted on thecommunication network according to various protocols and standards,including Long Term Evolution (LTE), 5G, IEEE 802, Internet Protocol(IP), or other protocols or combinations of protocols. The communicationnetwork can transmit voice, video, biometric, or authentication data, orother information between the connected computing devices.

Features described as separate implementations may be implemented, incombination, in a single implementation, while features described as asingle implementation may be implemented in multiple implementations,separately, or in any suitable sub-combination. Operations described andclaimed in a particular order should not be understood as requiring thatthe particular order, nor that all illustrated operations must beperformed (some operations can be optional). As appropriate,multitasking or parallel-processing (or a combination of multitaskingand parallel-processing) can be performed.

What is claimed is:
 1. A computer-implemented method for generation of avehicle repair plan, the method being executed by one or more processorsand comprising: receiving, by the one or more processors, vehicle damagedata comprising at least an image of a damaged vehicle; processing, bythe one or more processors, the vehicle damage data to determine adamaged area and a damage type of at least one portion of the damagedvehicle; generating, by the one or more processors, a repair plan forthe damaged vehicle based on the damaged area and the damage type; andinitiating, by the one or more processors, the repair plan for thedamaged vehicle.
 2. The computer-implemented method of claim 1, whereinthe repair plan comprises an estimated repair corresponding to thedamaged area and the damage type.
 3. The computer-implemented method ofclaim 1, wherein processing comprises applying at least one of amachine-learning algorithm, a convolutional neural network, and a regionproposal network.
 4. The computer-implemented method of claim 1, whereinprocessing comprises determining a plurality of damaged areas.
 5. Thecomputer-implemented method of claim 4, further comprising ranking theplurality of damaged areas based on a severity of damage correspondingto each of the plurality of damaged areas.
 6. The computer-implementedmethod of claim 1, wherein the image is processed to delete featuresthat are irrelevant for damage identification.
 7. Thecomputer-implemented method of claim 1, wherein the vehicle damage datacomprises data associated to the image.
 8. The computer-implementedmethod of claim 1, wherein the image is processed by a mobile deviceprior to transmission to minimize transmission bandwidth requirements.9. A non-transitory computer-readable storage media coupled to one ormore processors and having instructions stored thereon which, whenexecuted by the one or more processors, cause the one or more processorsto perform operations for generation of a vehicle repair plan, theoperations comprising: receiving vehicle damage data comprising at leastan image of a damaged vehicle; processing the vehicle damage data todetermine a damaged area and a damage type of at least one portion ofthe damaged vehicle; generating a repair plan for the damaged vehiclebased on the damaged area and the damage type; and initiating the repairplan for the damaged vehicle.
 10. The non-transitory, computer-readablemedium of claim 9, wherein the repair plan comprises an estimated repaircorresponding to the damaged area and the damage type.
 11. Thenon-transitory, computer-readable medium of claim 9, wherein processingcomprises applying at least one of a machine-learning algorithm, aconvolutional neural network, and a region proposal network.
 12. Thenon-transitory, computer-readable medium of claim 9, wherein processingcomprises determining a plurality of damaged areas.
 13. Thenon-transitory, computer-readable medium of claim 12, further comprisingranking the plurality of damaged areas based on a severity of damagecorresponding to each of the plurality of damaged areas.
 14. Thenon-transitory, computer-readable medium of claim 9, wherein the imageis processed to delete features that are irrelevant for damageidentification.
 15. The non-transitory, computer-readable medium ofclaim 9, wherein the vehicle damage data comprises data associated tothe image.
 16. The non-transitory, computer-readable medium of claim 9,wherein the image is processed by a mobile device prior to transmissionto minimize transmission bandwidth requirements.
 17. A system,comprising: one or more processors; and a computer-readable storagedevice coupled to the one or more processors and having instructionsstored thereon which, when executed by the one or more processors, causethe one or more processors to perform operations for generation of avehicle repair plan, the operations comprising: receiving vehicle damagedata comprising at least an image of a damaged vehicle; processing thevehicle damage data to determine a damaged area and a damage type of atleast one portion of the damaged vehicle; generating a repair plan forthe damaged vehicle based on the damaged area and the damage type; andinitiating the repair plan for the damaged vehicle.
 18. The system ofclaim 17, wherein the repair plan comprises an estimated repaircorresponding to the damaged area and the damage type.
 19. The system ofclaim 17, wherein processing comprises applying at least one of amachine-learning algorithm, a convolutional neural network, and a regionproposal network.
 20. The system of claim 17, wherein processingcomprises determining a plurality of damaged areas.